package cn.appsys.service.back.appinfo;

import java.util.List;

import cn.appsys.pojo.AppCategory;
import cn.appsys.pojo.AppInfo;
import cn.appsys.pojo.AppVersion;
import cn.appsys.pojo.DataDictionary;

public interface BackAppinfoService {

	/**
	 * 按条件查询待审核状态的App信息列表信息并分页显示
	 * 
	 * @param querySoftwareName
	 *            软件名称
	 * @param queryFlatformId
	 *            app所属平台id
	 * @param queryCategoryLevel1
	 *            所属一级分类id
	 * @param queryCategoryLevel2
	 *            所属二级分类id
	 * @param queryCategoryLevel3
	 *            所属三级分类id
	 * @param from
	 *            位置起始偏移量
	 * @param pageSize
	 *            页面大小
	 * @return
	 */
	List<AppInfo> queryAppInfo(String querySoftwareName,
			Integer queryFlatformId, Integer queryCategoryLevel1,
			Integer queryCategoryLevel2, Integer queryCategoryLevel3,
			Integer from, Integer pageSize);

	/**
	 * 按条件查询待审核状态的App信息列表信息的总数
	 * 
	 * @param querySoftwareName
	 *            软件名称
	 * @param queryFlatformId
	 *            app所属平台id
	 * @param queryCategoryLevel1
	 *            所属一级分类id
	 * @param queryCategoryLevel2
	 *            所属二级分类id
	 * @param queryCategoryLevel3
	 *            所属三级分类id
	 * @return
	 */
	int queryTotalCount(String querySoftwareName, Integer queryFlatformId,
			Integer queryCategoryLevel1, Integer queryCategoryLevel2,
			Integer queryCategoryLevel3);

	/**
	 * 根据当前类别ID查询当前类别下的子级类别信息列表
	 * 
	 * @param parentId
	 *            类别ID
	 * @return
	 */
	List<AppCategory> queryappCategoryList(Integer categoryId);

	/**
	 * 查询所有的平台信息列表
	 * 
	 * @return
	 */
	List<DataDictionary> queryAllFlatFrom(String typeCode);

	/**
	 * 审核详细信息-APP基础信息
	 * 
	 * @param aid
	 * @return
	 */
	AppInfo queryAppcheck(Integer aid);

	/**
	 * 审核信息详细-最新版本信息
	 * 
	 * @param vid
	 * @return
	 */
	AppVersion queryAppletViewer(Integer vid);

	/**
	 * 审核信息详细-修改App状态
	 * 
	 * @param aid
	 * @return
	 */
	int queryAppUpdate(Integer aid, Integer status);
}
